package com.wontube.smr.web.client;

import java.util.List;

import com.wontube.client.modle.vo.PagenateInfo;
import com.wontube.smr.client.model.po.Genre;
import com.wontube.smr.client.model.po.TVEpisode;
import com.wontube.smr.client.model.po.TVShow;
import com.wontube.smr.client.model.vo.SeasonEpisodes;
import com.wontube.smr.client.model.vo.TVShowItems;
import com.wontube.smr.web.client.model.bo.QueryItemParams;

/**
 * tv handler for web client
 * @author tanggf(2012-7-26)
 *
 */
public interface ITVWebHandler {		
	/**
	 * list all tv genres
	 * @return
	 */
	List<Genre> listTVGenres();
	
	
	/**
	 * query tv show from hulu		
	 * @return
	 */
	TVShowItems listHuluTVShows(QueryItemParams params, PagenateInfo pageInfo);	
	
	/**
	 * @param showId
	 * @return
	 */
	TVShow getTVShow(String showId);
	
	/**
	 * @param epId
	 * @return
	 */
	TVEpisode getTVEpisode(String epId);
	
	/**
	 * 
	 * @param showId
	 * @return
	 */
	List<SeasonEpisodes> listTVEpisodeDetail(String showId);
	
	/**
	 * @param pageInfo
	 */
	TVShowItems listChineseTVShows(PagenateInfo pageInfo);
	
	/**
	 * @param pageInfo
	 */
	TVShowItems listJapaneseTVShows(PagenateInfo pageInfo);
	
	/**
	 * @Param pageInfo
	 */
	TVShowItems listKoreaTVShows(PagenateInfo pageInfo);
	
	/**
	 * @param pageInfo
	 */
	TVShowItems listSurpriseDramaTVShows(PagenateInfo pageInfo);
}
